package com.ccys.db.entity;

import com.ccys.db.rely.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
* Created by Mybatis Generator on 2023/12/15
*/
@Data
@Table(name = "tbl_plan_benefit_service")
@NoArgsConstructor
@AllArgsConstructor
public class TblPlanBenefitService extends BaseEntity {
    @Column(name = "benefit_id")
    private String benefitId;

    private Integer status;

    /**
     * 0=GP;8 = Think well ;2 = Mental wellness;3 = Pead
     */
    @Column(name = "service_type")
    @ApiModelProperty("0=GP;8 = Think well ;2 = Mental wellness;3 = Pead")
    private Integer serviceType;

    @Column(name = "consult_fee_office_hour")
    private BigDecimal consultFeeOfficeHour;

    @Column(name = "consult_fee_after_hour")
    private BigDecimal consultFeeAfterHour;

    /**
     * 0:free delivery(快递费用免费);1:fixed $ off bill(账单抵扣金额);2:% off bill(账单打折);3:fixed $ off consultation(问诊费用抵扣金额);4:% off consultation(问诊费用打折);5:fixed $ off delivery(快递费用抵扣金额);6:% off delivery(快递费用打折);7:%off consultation + % off delivery(问诊费用与快递费用同时打折);-1 表示无折扣
     */
    @Column(name = "discount_type")
    @ApiModelProperty("0:free delivery(快递费用免费);1:fixed $ off bill(账单抵扣金额);2:% off bill(账单打折);3:fixed $ off consultation(问诊费用抵扣金额);4:% off consultation(问诊费用打折);5:fixed $ off delivery(快递费用抵扣金额);6:% off delivery(快递费用打折);7:%off consultation + % off delivery(问诊费用与快递费用同时打折);-1 表示无折扣")
    private Integer discountType;

    /**
     * 额度(金额或者抵扣的百分比)
     */
    @Column(name = "discount_amount")
    @ApiModelProperty("额度(金额或者抵扣的百分比)")
    private BigDecimal discountAmount;

    /**
     * 保留
     */
    @Column(name = "show_receipt")
    @ApiModelProperty("保留")
    private Integer showReceipt;

    @Column(name = "waive_consult_charge")
    private Integer waiveConsultCharge;

    @Column(name = "waive_delivery_charge")
    private Integer waiveDeliveryCharge;

    @Column(name = "waive_medication_charge")
    private Integer waiveMedicationCharge;

    @Column(name = "waive_practice_charge")
    private Integer waivePracticeCharge;

    @Column(name = "include_gst")
    private Integer includeGst;

    @Column(name = "include_consult_fee")
    private Integer includeConsultFee;

    @Column(name = "include_practice_charge")
    private Integer includePracticeCharge;

    @Column(name = "include_medication_charge")
    private Integer includeMedicationCharge;

    @Column(name = "include_medication_package_charge")
    private Integer includeMedicationPackageCharge;

    @Column(name = "include_standard_delivery_charge")
    private Integer includeStandardDeliveryCharge;

    @Column(name = "include_express_delivery_charge")
    private Integer includeExpressDeliveryCharge;

    @Column(name = "include_medical_service_charge_walk_in")
    private Integer includeMedicalServiceChargeWalkIn;

    @Column(name = "include_medical_service_charge_home_base")
    private Integer includeMedicalServiceChargeHomeBase;

    @Column(name = "include_medical_package_charge_walk_in")
    private Integer includeMedicalPackageChargeWalkIn;

    @Column(name = "include_medical_package_charge_home_base")
    private Integer includeMedicalPackageChargeHomeBase;

    @Column(name = "include_home_base_charge")
    private Integer includeHomeBaseCharge;

    /**
     * 最多可以抵扣的home base 金额
     */
    @Column(name = "home_base_fee")
    @ApiModelProperty("最多可以抵扣的home base 金额")
    private BigDecimal homeBaseFee;

    @Column(name = "max_amount_per_year")
    private BigDecimal maxAmountPerYear;

    @Column(name = "max_amount_per_limit")
    private BigDecimal maxAmountPerLimit;

    @Column(name = "visit_count_limit")
    private Integer visitCountLimit;

    @Column(name = "co_payment_amount")
    private BigDecimal coPaymentAmount;

    /**
     * 最大报销百分比
     */
    @Column(name = "reimbursement_percentage")
    @ApiModelProperty("最大报销百分比")
    private BigDecimal reimbursementPercentage;

    @Column(name = "renewal_date")
    private String renewalDate;

    @Column(name = "max_amount_per_limit_label")
    private String maxAmountPerLimitLabel;

    @Column(name = "co_payment_amount_label")
    private String coPaymentAmountLabel;

    @Column(name = "allow_promo_code")
    private Integer allowPromoCode;

    @Column(name = "allow_bin_number")
    private Integer allowBinNumber;

    @Column(name = "description_active")
    private String descriptionActive;

    @Column(name = "description_exceeded")
    private String descriptionExceeded;

    @Column(name = "description_expired")
    private String descriptionExpired;

    @Column(name = "discount_label")
    private String discountLabel;

    /**
     * 多个以,拼接；全部存 0
     */
    @ApiModelProperty("多个以,拼接；全部存 0")
    private String groupIds;

    /**
     * 多个以,拼接，历史数据为|；全部存 0
     */
    @ApiModelProperty("多个以,拼接，历史数据为|；全部存 0")
    private String clinicIds;

    @ApiModelProperty("自己可用")
    @Column(name = "benefit_for_self")
    private Integer benefitForSelf;

    @ApiModelProperty("孩子可用")
    @Column(name = "benefit_for_child")
    private Integer benefitForChild;

    @ApiModelProperty("家人可用")
    @Column(name = "benefit_for_dependant")
    private Integer benefitForDependant;
}